/**
 * Copyright (C) 2013 DaiKit.com - daikit4gxt module (admin@daikit.com)
 *
 *         Project home : http://code.daikit.com/daikit4gxt
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *         http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.daikit.daikit4gxt.client.ui.editor.field.validator;



/**
 * 
 * @author tcaselli
 * @version $Revision$ Last modifier: $Author$ Last commit: $Date$
 * @param <N>
 *           the type of the number in parent field
 */
public class DkMinMaxFixedNumberValidator<N extends Number> extends DkMinMaxNumberValidator<N>
{

	private final int min;
	private final int max;

	/**
	 * Constructor. Wrapper to {@link #DkMinMaxFixedNumberValidator(int, int, boolean, boolean, boolean)} with minStrict
	 * = false and maxStrict = false so min and max are accepted and mandatory = true, so value is mandatory.
	 * 
	 * @param min
	 *           the min value
	 * @param max
	 *           the max value
	 */
	public DkMinMaxFixedNumberValidator(final int min, final int max)
	{
		this(min, max, false, false, false);
	}

	/**
	 * Constructor.
	 * 
	 * @param min
	 *           the min value
	 * @param max
	 *           the max value
	 * @param minStrict
	 *           if true , then min value will be rejected, if false, min value will be accepted
	 * @param maxStrict
	 *           if true , then max value will be rejected, if false, max value will be accepted
	 * @param mandatory
	 *           boolean indicating whether value is mandatory (blank not accepted) or not
	 */
	public DkMinMaxFixedNumberValidator(final int min, final int max, final boolean minStrict, final boolean maxStrict,
			final boolean mandatory)
	{
		super(minStrict, maxStrict, mandatory);
		this.min = min;
		this.max = max;
	}

	@Override
	protected int getMinValue()
	{
		return min;
	}

	@Override
	protected int getMaxValue()
	{
		return max;
	}

}
